/* 
 * File:   mysql_connection.h
 * Author: james
 *
 * Created on 2011年5月19日, 下午1:31
 */

#ifndef MYSQL_CONNECTION_H
#define	MYSQL_CONNECTION_H

extern "C"{
#include <mysql/mysql.h>
}

#include <string>
using namespace std;

namespace edm
{
    namespace network
    {
        class mysql_connection_t
        {
        public:
            mysql_connection_t(const string& host,
                             const string& port,
                             const string& usr,
                             const string& pwd,
                             const string& database);
            ~mysql_connection_t();

            int connect();
            int disconnect();
            int reconnect();
            bool connected();

            int execute(const string& sql);
            MYSQL_RES* get_result();
        private:
            bool   m_connected;
            string m_host;
            string m_port;
            string m_usr;
            string m_pwd;
            string m_database;
            MYSQL  m_mysql;
        };
    }
}




#endif	/* MYSQL_CONNECTION_H */

